﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200121B RID: 4635
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class StartMatchCsReq : IMessage<StartMatchCsReq>, IMessage, IEquatable<StartMatchCsReq>, IDeepCloneable<StartMatchCsReq>, IBufferMessage
	{
		// Token: 0x17003ABC RID: 15036
		// (get) Token: 0x0600CFC5 RID: 53189 RVA: 0x0022FA6F File Offset: 0x0022DC6F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<StartMatchCsReq> Parser
		{
			get
			{
				return StartMatchCsReq._parser;
			}
		}

		// Token: 0x17003ABD RID: 15037
		// (get) Token: 0x0600CFC6 RID: 53190 RVA: 0x0022FA76 File Offset: 0x0022DC76
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return StartMatchCsReqReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003ABE RID: 15038
		// (get) Token: 0x0600CFC7 RID: 53191 RVA: 0x0022FA88 File Offset: 0x0022DC88
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return StartMatchCsReq.Descriptor;
			}
		}

		// Token: 0x0600CFC8 RID: 53192 RVA: 0x0022FA8F File Offset: 0x0022DC8F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public StartMatchCsReq()
		{
		}

		// Token: 0x0600CFC9 RID: 53193 RVA: 0x0022FA98 File Offset: 0x0022DC98
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public StartMatchCsReq(StartMatchCsReq other) : this()
		{
			this.lobbyExtraInfo_ = ((other.lobbyExtraInfo_ != null) ? other.lobbyExtraInfo_.Clone() : null);
			this.fightGameMode_ = other.fightGameMode_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600CFCA RID: 53194 RVA: 0x0022FAE4 File Offset: 0x0022DCE4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public StartMatchCsReq Clone()
		{
			return new StartMatchCsReq(this);
		}

		// Token: 0x17003ABF RID: 15039
		// (get) Token: 0x0600CFCB RID: 53195 RVA: 0x0022FAEC File Offset: 0x0022DCEC
		// (set) Token: 0x0600CFCC RID: 53196 RVA: 0x0022FAF4 File Offset: 0x0022DCF4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PlayerExtraInfo LobbyExtraInfo
		{
			get
			{
				return this.lobbyExtraInfo_;
			}
			set
			{
				this.lobbyExtraInfo_ = value;
			}
		}

		// Token: 0x17003AC0 RID: 15040
		// (get) Token: 0x0600CFCD RID: 53197 RVA: 0x0022FAFD File Offset: 0x0022DCFD
		// (set) Token: 0x0600CFCE RID: 53198 RVA: 0x0022FB05 File Offset: 0x0022DD05
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public FightGameMode FightGameMode
		{
			get
			{
				return this.fightGameMode_;
			}
			set
			{
				this.fightGameMode_ = value;
			}
		}

		// Token: 0x0600CFCF RID: 53199 RVA: 0x0022FB0E File Offset: 0x0022DD0E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as StartMatchCsReq);
		}

		// Token: 0x0600CFD0 RID: 53200 RVA: 0x0022FB1C File Offset: 0x0022DD1C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(StartMatchCsReq other)
		{
			return other != null && (other == this || (object.Equals(this.LobbyExtraInfo, other.LobbyExtraInfo) && this.FightGameMode == other.FightGameMode && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600CFD1 RID: 53201 RVA: 0x0022FB6C File Offset: 0x0022DD6C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.lobbyExtraInfo_ != null)
			{
				num ^= this.LobbyExtraInfo.GetHashCode();
			}
			if (this.FightGameMode != FightGameMode.None)
			{
				num ^= this.FightGameMode.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600CFD2 RID: 53202 RVA: 0x0022FBC7 File Offset: 0x0022DDC7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600CFD3 RID: 53203 RVA: 0x0022FBCF File Offset: 0x0022DDCF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600CFD4 RID: 53204 RVA: 0x0022FBD8 File Offset: 0x0022DDD8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.lobbyExtraInfo_ != null)
			{
				output.WriteRawTag(66);
				output.WriteMessage(this.LobbyExtraInfo);
			}
			if (this.FightGameMode != FightGameMode.None)
			{
				output.WriteRawTag(80);
				output.WriteEnum((int)this.FightGameMode);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600CFD5 RID: 53205 RVA: 0x0022FC34 File Offset: 0x0022DE34
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.lobbyExtraInfo_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.LobbyExtraInfo);
			}
			if (this.FightGameMode != FightGameMode.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.FightGameMode);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600CFD6 RID: 53206 RVA: 0x0022FC8C File Offset: 0x0022DE8C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(StartMatchCsReq other)
		{
			if (other == null)
			{
				return;
			}
			if (other.lobbyExtraInfo_ != null)
			{
				if (this.lobbyExtraInfo_ == null)
				{
					this.LobbyExtraInfo = new PlayerExtraInfo();
				}
				this.LobbyExtraInfo.MergeFrom(other.LobbyExtraInfo);
			}
			if (other.FightGameMode != FightGameMode.None)
			{
				this.FightGameMode = other.FightGameMode;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600CFD7 RID: 53207 RVA: 0x0022FCF4 File Offset: 0x0022DEF4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600CFD8 RID: 53208 RVA: 0x0022FD00 File Offset: 0x0022DF00
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 66U)
				{
					if (num != 80U)
					{
						this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
					}
					else
					{
						this.FightGameMode = (FightGameMode)input.ReadEnum();
					}
				}
				else
				{
					if (this.lobbyExtraInfo_ == null)
					{
						this.LobbyExtraInfo = new PlayerExtraInfo();
					}
					input.ReadMessage(this.LobbyExtraInfo);
				}
			}
		}

		// Token: 0x0400534B RID: 21323
		private static readonly MessageParser<StartMatchCsReq> _parser = new MessageParser<StartMatchCsReq>(() => new StartMatchCsReq());

		// Token: 0x0400534C RID: 21324
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400534D RID: 21325
		public const int LobbyExtraInfoFieldNumber = 8;

		// Token: 0x0400534E RID: 21326
		private PlayerExtraInfo lobbyExtraInfo_;

		// Token: 0x0400534F RID: 21327
		public const int FightGameModeFieldNumber = 10;

		// Token: 0x04005350 RID: 21328
		private FightGameMode fightGameMode_;
	}
}
